
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class EffectEffectCfg : public ManualSingleton <EffectEffectCfg>
{
	friend ManualSingleton <EffectEffectCfg>;
public:
	EffectEffectCfg();
	~EffectEffectCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const EffectEffectCfgInfo *GetEffectEffectCfgInfo(int32_t effectId);
	const EffectEffectCfgMap *GetEffectEffectCfgMap() { return &m_EffectEffectCfgMap; }
private:
	EffectEffectCfgMap m_EffectEffectCfgMap;
};

#define  g_MakeEffectEffectCfgTable() (EffectEffectCfg::Instance())
#define  g_GetEffectEffectCfgTable() (EffectEffectCfg::GetInstance())
#define  g_DelEffectEffectCfgTable() (EffectEffectCfg::Destroy())